package com.tiancheng.trade.payment.channel.ums.params;

import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import java.util.Map;

/**
 * 银联商务统一下单响应
 */
@Getter
@Setter
@NoArgsConstructor
public class UmsUnifiedOrderResult {
    /**
     * 必传：TRUE；平台错误码； max=64；
     */
    private String errCode;
    /**
     * 必传：FALSE；平台错误信息； max=255；
     */
    private String errMsg;
    /**
     * 必传：FALSE；消息ID； max=64；
     */
    private String msgId;
    /**
     * 必传：FALSE；消息类型；
     */
    private String msgType;
    /**
     * 必传：TRUE；消息来源； max=32；
     */
    private String msgSrc;
    /**
     * 必传：FALSE；请求系统预留字段； max=255；
     */
    private String srcReserve;
    /**
     * 必传：TRUE；报文响应时间，格式yyyy-MM-dd HH:mm:ss；
     */
    private String responseTimestamp;
    /**
     * 必传：FALSE；商户名称；
     */
    private String merName;
    /**
     * 必传：FALSE；商户订单号；
     */
    private String merOrderId;
    /**
     * 必传：TRUE；商户号；
     */
    private String mid;
    /**
     * 必传：TRUE；终端号；
     */
    private String tid;
    /**
     * 必传：FALSE；平台流水号，类似检索参考号；
     */
    private String seqId;
    /**
     * 必传：FALSE；清分ID，如果来源方传了bankRefId就等于bankRefId，否则等于seqId；
     */
    private String settleRefId;
    /**
     * 必传：FALSE；交易状态；
     */
    private String Status;
    /**
     * 必传：FALSE；支付总金额；
     */
    private Integer totalAmount;
    /**
     * 必传：FALSE；第三方订单号；
     */
    private String targetOrderId;
    /**
     * 必传：FALSE；目标平台代码；
     */
    private String targetSys;
    /**
     * 必传：FALSE；目标平台的状态；
     */
    private String targetStatus;
    /**
     * 必传：FALSE；JSAPI支付用的请求报文，带有签名信息；
     */
    private Map<String, Object> jsPayRequest;
    /**
     * 必传：FALSE；APP支付用的请求报文，带有签名信息；
     */
    private Map<String, Object> appPayRequest;
    /**
     * 微信小程序支付用的请求报文，带有签名信息
     */
    private Map<String, Object> miniPayRequest;
    /**
     * 必传：FALSE；支付ID，用于APP支付和公众号支付； max=64；
     */
    private String prepayId;
    /**
     * 必传：FALSE；支付二维码，内容为URL，由终端转换成二维码显示； max=64；
     */
    private String qrCode;
    /**
     * 必传：FALSE；报文签名，算法参考文档；
     */
    private String Sign;
    /**
     * 必传：FALSE；签名算法；上送值为：SHA256 （请勿上送MD5）
     */
    private String signType;
    /**
     * 必传：FALSE；支付渠道商户号，各渠道情况不同，酌情转换；
     */
    private String targetMid;
    /**
     * 必传：FALSE；营销联盟优惠金额；仅享受联盟优惠的订单，查询返回
     */
    private Integer yxlmAmount;

    /**
     * 账单号，小于28位 （扫码支付使用）
     */
    private String billNo;
    /**
     * 账单日期，格式yyyy-MM-dd （扫码支付使用）
     */
    private String billDate;
    /**
     * 账单二维码，二维码URL （扫码支付使用）
     */
    private String billQRCode;


}
